Automatic Test Data Generation for Programs with Integer and Float Variables
نویسندگان
چکیده
This paper presents a novel approach for automated test data generation of imperative programs containing integer, boolean and/or float variables. Our approach is based on consistency techniques integrating integer and float variables. We handle statement, branch and path coverage criteria. Our purpose is thus to automatically generate test data that will cause the program to execute a statement, to traverse a branch or to traverse a specified path. For path coverage, the specified path is transformed into a path constraint which is solved by an interval-based constraint solving algorithm handling integer, boolean and real variables. A valid test input is then extracted from the interval solutions. For statement (and branch) coverage, a path reaching the specified statement or branch is dynamically constructed. Our algorithm for path coverage is then applied. The search for a suitable path and the solving of path constraints make an extensive use of consistency techniques. We propose here a simple consistency notion, called e-Box consistency, generalizing box consistency to integer and float variables. The eBox consistency is sufficient for our purpose. A prototype has been developed and experimental results show the feasibility of our approach.
منابع مشابه
Optimizing Cost Function in Imperialist Competitive Algorithm for Path Coverage Problem in Software Testing
Search-based optimization methods have been used for software engineering activities such as software testing. In the field of software testing, search-based test data generation refers to application of meta-heuristic optimization methods to generate test data that cover the code space of a program. Automatic test data generation that can cover all the paths of software is known as a major cha...
متن کاملCOTTAGE: A Consistency Based System for Test Data Generation
This paper presents a system, called COTTAGE, for automated test data generation of C programs. The main originality of our system is its ability to handle programs with oat variables as well as boolean and integer variables. It can also deal with arrays and procedure calls. The system is based on our previous work [25, 26]. A test program (with procedure calls) is represented by an Interproced...
متن کاملExploiting Binary Floating-Point Representations for Constraint Filtering
Floating-point computations are quickly finding their way in the design of safetyand mission-critical systems, despite the fact that designing floating-point algorithms is significantly more difficult than designing integer algorithms. For this reason, verification and validation of floating-point computations is a hot research topic. An important verification technique, especially in some indu...
متن کاملCOTTAGE: Test Data Generation based on Consistency Techniques
This paper presents a new approach for automated test data generation of imperative programs containing integer, boolean and/or oat variables. A test program (with procedure calls) is represented by an Interprocedural Control Flow Graph (ICFG). The classical testing criteria (statement, branch, and path coverage), widely used in unit testing, are extended to the ICFG. Path coverage is the core ...
متن کاملPIPS Is not (just) Polyhedral Software Adding GPU Code Generation in PIPS
Parallel and heterogeneous computing are growing in audience thanks to the increased performance brought by ubiquitous manycores and GPUs. However, available programming models, like OPENCL or CUDA, are far from being straightforward to use. As a consequence, several automated or semi-automated approaches have been proposed to automatically generate hardware-level codes from high-level sequenti...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2001